package exportacao;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class LerXMLSMP6Test {
	private String file;
	private String fileCompare;
	private String smp;
	
	public LerXMLSMP6Test(String _file, String _fileCompare, String _smp) {
		this.file = _file;
		this.fileCompare = _fileCompare;
		this.smp = _smp;
	}
	
	@Ignore
	@Test
	public void testaLeituraXMLSMP6(){
		LerXMLSMP6 lerXMLSMP6 = new LerXMLSMP6();
		List<BeanLerXMLSMP6> lista = lerXMLSMP6.listaValores(fileCompare, smp);
		List<BeanLerXMLSMP6> lista2 = lerXMLSMP6.listaValores(file, smp);
		System.out.println(lista.size());
		for (BeanLerXMLSMP6 beanLerXMLSMP6 : lista) {
			System.out.println(beanLerXMLSMP6.toString());
		}
		System.out.println("\n\n"+lista2.size());
		for (BeanLerXMLSMP6 beanLerXMLSMP6 : lista2) {
			System.out.println(beanLerXMLSMP6.toString());
		}
	}
	
	@Ignore
	@Test
	public void listaErrosSMP6(){
		LerXMLSMP6 lerXMLSMP6 = new LerXMLSMP6();
		List<BeanLerXMLSMP6> listaCliente = lerXMLSMP6.listaValores(file, smp);
		List<BeanLerXMLSMP6> listaVisent = lerXMLSMP6.listaValores(fileCompare, smp);
		List<BeanLerXMLSMP6> listaErrosVisent = new ArrayList<BeanLerXMLSMP6>();
		List<BeanLerXMLSMP6> listaErrosCliente = new ArrayList<BeanLerXMLSMP6>();
		try{
			listaErrosVisent = lerXMLSMP6.testaComparacaoXMLVisent(listaCliente, listaVisent);
			listaErrosCliente = lerXMLSMP6.testaComparacaoXMLCliente(listaCliente, listaVisent);
			System.out.println("Tem no doc visent e não tem no doc claro");
			for (BeanLerXMLSMP6 bean : listaErrosVisent) {
				System.out.println(bean.toString());
			}
			System.out.println("\n\nTem no doc claro e não tem no doc visent");
			for (BeanLerXMLSMP6 bean : listaErrosCliente) {
				System.out.println(bean.toString());
			}
		}catch(NullPointerException e){
			e.printStackTrace();
			System.out.println("Nenhum erro encontrado!");
		}				
	}
	
	@Test
	public void listaUnidadesPrimariasAMais(){
		LerXMLSMP6 lerXMLSMP6 = new LerXMLSMP6();
		List<BeanLerXMLSMP6> listaCliente = lerXMLSMP6.listaValores(file, smp);
		List<BeanLerXMLSMP6> listaVisent = lerXMLSMP6.listaValores(fileCompare, smp);
		
		System.out.println(listaCliente.toString());
		System.out.println(listaVisent.toString());
		
		lerXMLSMP6.descobreUnidadesPrimariasAMais(listaCliente, listaVisent);
		lerXMLSMP6.descobreUnidadesPrimariasAMaisCliente(listaCliente, listaVisent);
	}
	
	@Parameters
	public static List<Object[]> datadriven() {
		return Arrays.asList(new Object[][] { {
			"C:/Users/mateusnere/Documents/Rafael/TECNOLOGIA XML/JAN2015/SMP_ANATEL_CLARO_2013.xml",
			"C:/Users/mateusnere/Documents/Rafael/TECNOLOGIA XML/JAN2015/Coleta SMP 20-01-2015.xml",
//			"C:/Users/mateusnere/Documents/Rafael/TECNOLOGIA XML/SMP_ANATEL_CLARO_2013.xml", 
//			"C:/Users/mateusnere/Documents/Rafael/TECNOLOGIA XML/Coleta SMP 10-09-2014.xml",
			"SMP6"}
			});
	}
	
}
